package com.lzy.chat.c_service;

import com.lzy.chat.a_entity.Message;

import java.util.Date;
import java.util.List;

public interface MessageService {
    /**
     * 向数据库储存消息
     *
     * @param message 消息对象
     * @return 消息对象包含mid
     */
    Message storeMessage(Message message);

    /**
     * 将mid的消息设为已读
     *
     * @param mid 消息id
     */
    void readMessage(Integer mid);

    /**
     * 获取用户离线的未读消息
     *
     * @param uid 用户id
     * @return 消息list
     */
    List<Message> getUnreadMessage(Integer uid);

    List<Message> getUnreadGroupMessage(Integer gid, Date lastRead);

    List<Message> getGroupHistoryMessage(Integer gid, Date date);


    /**
     * 获取历史记录
     *
     * @param date 起始时间
     * @param uid  用户id
     * @return 消息list
     */
    List<Message> getHistoryMessage(Date date, Integer uid, Integer uid2);

}
